// 金融服务

import { fileGet, filePost, post, postFormData } from '@/request/http'
import store from '@/store'
import { dateFormat } from '@/utils/utils'

const prefix = '/FTKJWLHYPT/financialService'

export default {
  /**
   * 查询合同数据
   * @param index
   * @param size
   * @param contractNo
   * @param cmtPartyA
   * @param signTimeStart
   * @param signTimeEnd
   * @param fsStatus
   * @returns {Promise<unknown>}
   */
  queryContractListFinancial({
    index,
    size,
    contractNo, // 合同编号
    cmtPartyA, // 托运人
    signTimeStart, // 合同签订开始时间
    signTimeEnd, // 合同签订结束时间
    fsStatus,
  }) {
    return post(prefix + '/queryContractListFinancial', {
      Data: {
        Parameters: {
          FTKJWLHYPT: {
            contractNo, // 合同编号
            cmtPartyA, // 托运人
            signTimeStart, // 合同签订开始时间
            signTimeEnd, // 合同签订结束时间
            fsStatus,
            fltId: Number(store.state.user.FLT_UUID_DX_H),
          },
        },
        PageIndex: {
          FTKJWLHYPT: index,
        },
        PageSize: {
          FTKJWLHYPT: size,
        },
      },
    })
  },

  /**
   * 提交金融服务请求
   * @returns {Promise<unknown>}
   */
  commitFinancialRequest(data) {
    return postFormData(prefix + '/commitFinancialRequest', data)
  },

  /**
   * 审核
   * @returns {Promise<unknown>}
   */
  review({ ids, status, fsAuditOpinion, fsAmount, fsSettlementTime, fsLoanTime, fsInterest }) {
    return post(prefix + '/review', {
      Data: {
        Parameters: {
          FTKJWLHYPT: {
            ids,
            fsStatus: status,
            fsEditor: store.state.user.USR_CODE_DX_H,
            fsAuditOpinion,
            fsAmount,
            fsSettlementTime: fsSettlementTime ? dateFormat('YYYY-mm-dd', fsSettlementTime) : null,
            fsLoanTime: fsLoanTime ? dateFormat('YYYY-mm-dd', fsLoanTime) : null,
            fsInterest,
          },
        },
      },
    })
  },
  /**
   * 查询附件列表
   * @param ids
   * @returns {Promise<unknown>}
   */
  queryAnnexArray({ annex, size, index }) {
    return post(prefix + '/queryAnnexArray', {
      Data: {
        Parameters: {
          FTKJWLHYPT: {
            annex,
          },
        },
        PageIndex: {
          FTKJWLHYPT: index,
        },
        PageSize: {
          FTKJWLHYPT: size,
        },
      },
    })
  },
  downloadTemplate() {
    return fileGet(prefix + '/downloadTemplate')
  },
}
